/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ReglasNegocio;
import AccesoDatos.*;
import java.util.*;
/**
 *
 * @author dani
 * @modificadopor ramayac
 */
public class Insumo extends ObjReglaNegocioBase {
    
    private String id;
    private Actividad FkActividad;
    private String descripcion;
    private double cantidad;    
    private Date fecha;
    
    public Insumo(Dato id) {        
        super(id);        
        this.id=this.getDato(0).getValor();
    }
    
    public Insumo() {
        super();
    }
    
    
    public Actividad getActividad() {
        return this.FkActividad;
    }
    
    public void setActividad(Actividad a) {
        this.FkActividad=a;
    }
    
    public double getCantidad() {
        return this.cantidad;
    }
    
    public Date getFecha() {
        return this.fecha;
    }
    
    public String getDescripcion() {
        return this.descripcion;
    }
    
    public void setDescripcion(String descripcion) {
        this.descripcion=descripcion;
    }
    
    public void setCantidad(double cantidad) {
        this.cantidad=cantidad;
    }
    
    public void setFecha(Date fecha) {
        this.fecha=fecha;
    }
    
    @Override
    public int Crear() {
        Dato[] datos=new Dato[4];
        datos[0]=new Dato("descripcion",this.descripcion);        
        datos[1]=new Dato("cantidad",String.valueOf(this.cantidad));
        
        datos[2]=new Dato("fecha",(this.fecha.getYear()+1900)+"-"+(this.fecha.getMonth()+1)+"-"+this.fecha.getDay());
        datos[3]=new Dato("fkactividad",this.FkActividad.getId());
        
        return this.conn.Agregar(datos, this.getNombreObjeto());
    }
    
    @Override
    protected Boolean asignarCampos() {
        String sql="select * from insumo";
        sql+=" where "+this.getIdentificador().getNombre()+"=";
        sql+="'"+this.getIdentificador().getValor()+"'";        
        Vista v=this.conn.crearVista(sql);        
        if(v.getNRegistros()>0) {
            long ida=(Long)v.getRegistro(0, 1);
            Dato idActividad=new Dato("id",String.valueOf(ida));
            this.FkActividad=new Actividad(idActividad);
            this.descripcion=(String) v.getRegistro(0, 2);
            this.cantidad=(Double) v.getRegistro(0, 3);
            this.fecha=(Date) v.getRegistro(0, 4);
            return true;
        }
        else
            return false;
    }
    
    @Override
    public void Actualizar() {
        String update="update "+this.getNombreObjeto();
        update+=" set ";
        update+="fkactividad='"+this.FkActividad.getId()+"',";
        update+="descripcion='"+this.descripcion+"',";
        update+="cantidad='"+this.cantidad+"',";
        update+="fecha='"+this.fecha+"' ";
        update+="where "+this.getIdentificador().getNombre();
        update+="='"+this.getIdentificador().getValor()+"'";
        
        this.conn.ejecutarActualizacion(update);
        this.asignarCampos();
    }
}
